Skip to main content
Version: 8.4.10.2

SpdrParentOrder

V8 Message Definiton

SpdrParentOrder records are visible in SRSE immediately after receipt. Parent orders received via FIX, SRSE or SpiderRock GUI tools, or 3rd party vendor systems are all visible in this table.\nParent orders can be for stocks, futures, options or spreads. And they can be one-sided (agency) or two-sided (facilitation) orders. Parent order records should be immutable and not update.\nSpdrParentOrder records are published to the SpiderRock elatic cluster on arrival.

METADATA

AttributeValue
Topic3985-parent-orders
MLink TokenClientTrading
ProductSRTrade
accessTypeSELECT

Table Definition

FieldTypeKeyDefault ValueComment
parentNumberCHAR(19)PRI'0000-0000-0000-0000'SPDR order number
sysEnvironmentenum - SysEnvironment'None'original source sys environment Stable Current etc
runStatusenum - RunStatus'None'original source run status ProdBeta
spdrActionTypeenum - SpdrActionType'Add'
parentShapeenum - SpdrOrderShape'None'
clientSeqNumInINT0inbound client seq number FIX orders only
altOrderIdVARCHAR(24)''alternate order ID usually clOrdId from client
altPrevOrderIdVARCHAR(24)''alternate prev order ID usually origClOrdId from client during cxlreplace
altAutoHedgeIdVARCHAR(24)''alternate order ID for child autohedge orders if any
altAccntVARCHAR(32)''alternate client assigned long account string optional used to map between client and SR account strings
altUserNameVARCHAR(24)''alternate client assigned user name optional used to map between client and SR account strings
srcRoutingCodeTINYTEXT''inbound FIX routing code or SRSEtool server appID if any
packageIdBIGINT0references spread orderNumber if a legged spread order or autohedge order
secKey_atenum - AssetTypeSEC'None'Composite Security Key
secKey_tsenum - TickerSrcSEC'None'Composite Security Key
secKey_tkVARCHAR(12)SEC''Composite Security Key
secKey_yrSMALLINT UNSIGNEDSEC0Composite Security Key
secKey_mnTINYINT UNSIGNEDSEC0Composite Security Key
secKey_dyTINYINT UNSIGNEDSEC0Composite Security Key
secKey_xxDOUBLESEC0Composite Security Key
secKey_cpenum - CallPutSEC'Call'Composite Security Key
secTypeenum - SpdrKeyType'None'Security Type Stock Future Option
securityDescTINYTEXT''additional security description
accntVARCHAR(16)SEC''SR trading account
clientFirmVARCHAR(16)''SR client firm
spdrSourceenum - SpdrSource'None'
groupingCodeCHAR(19)'0000-0000-0000-0000'unique broker codebrokerpkey key accnt spdrSource groupingCode
execBrkrCodeVARCHAR(16)''overrides the default executing broker for this parent order
externExDestVARCHAR(16)''routing code for orders directed to an external order router default null must match an exDest associated with a RouteDefinition
externParamsTINYTEXT''external algo namesparameters usually just an algo name
strategyVARCHAR(36)''clientsupplied strategy stringvisible on SpiderRock GUI tools and other order reports
userNameVARCHAR(24)''name of the user entering the order
userSourceenum - SpdrSource'None'SpdrSource of this order assumed to be the same as spdrSource if None
orderDttmDATETIME(6)'1900-01-01 00:00:00.000000'order entry time from clientif any
orderSideenum - BuySell'None'
orderSizeINT0maximum fill size contracts
orderActiveSizeINT0total activated size total size released for execution 1 all available size
curCumFillQuantityINT0set order size orderSize Max0 curCumFillQty eecumFillQty used to ensure integrity of submitted cxlreplace orders
addCumFillQuantityenum - YesNo'None'If Yes then OrderSize is calculated order arrival as requested OrderSize existing CumFillQuantity
maxExposureSizeINT0maximum simultaneous cumulative child order public size exposure 1 orderActiveSize order can overfill if orderActiveSize and numMakeExchanges 1
numMakeExchangesTINYINT UNSIGNED0number of exchanges 1 4 on which to publish public making orders Effective number might be less than requested number if sufficient exchanges are not available
publicSizeenum - PublicSizeHandling'None'public order size handling Nonealgo default Randomizerandomize public size MktSizeexpose typical market size FullSizeexpose entire order size where possible FullSizeRrandomize full size
canOverlapCxlReplenum - YesNo'None'can execution engines overlap cancelreplace operations order can overfill if YES at most one active overlapping cxlreplace operation for each parent order
progressRuleenum - ProgressRule'None'Immediate all size immediately available TWAP work from arrival to expiration VWAP work order not faster than participation rate
blockVisibilityenum - BlockVisibility'None'for BlockAuction orders visibility to responders is neither side only or side price
progressSliceCntTINYINT UNSIGNED0number of slices to use default 4 or 8 max 20
progressExposeTimeINT0minimum time secs to expose order 0 no minimum used to guarantee that the order is exposed at midmarket for some time before actively taking
vwapParticipationFLOAT0target vwap participation rate target of trade activity
minMktOnClosePctTINYINT UNSIGNED0Minimum pct 0 100 of order reserved for the onclose MOC auction
triggerTypeenum - TriggerType'None'type of trigger PrintVolSurfVol only for options print print or actionable quote
triggerLevelFLOAT0stoptrigger level for parent order to go active can be either a price or vol
auctionResponderenum - AuctionResponder'None'if set parent order can be an auction responder
maxMakeExchFeeFLOAT0maximum making exchange fee in point value zero no limit use nonzero number for limit to apply
maxTakeExchFeeFLOAT0maximum taking exchange fee in point value zero no limit use nonzero number for limit to apply
incTakeExchFeeenum - IncExchFee'None'include exchange fee in probability and surface based take limit calculations
incMakeExchFeeenum - IncExchFee'None'include exchange fee in probability and surface based make limit calculations
makeExchRuleenum - MakeExchRule'None'ActiveMaker exch preference MaxPart max participation FeeOrder minimize fees max rebates ImprvOnly will only make when improving NBBO RoundRobin will rotate through exch list ProRataOptim will post on prorata only
cxlUPrcRangeenum - UPrcCxl'None'cancel parent order ifwhen outside the uPrice range Halt also cancel if halted
minUBidFLOAT0optional
maxUAskFLOAT0optional 001 none
minMaxTypeenum - MinMaxType'None'if Prc minUBidmaxUAsk are expressed as prices if Pct then they are expresses as pct change since parent order arrival
minOptionPxFLOAT0optional option price floor for tied to stock orders
maxChildOrdersINT0maximum number of child orders that can be generated by this parent order order will terminate ifwhen this cap is reachedzero or neg unlimited
exchMaskINT UNSIGNED0eligible exchanges 0 all
spdrStageTypeenum - SpdrStageType'None'note stageType None implies both KeepAlive behavior and makes the order visible on tools
marketSessionenum - MarketSession'None'
startDttmDATETIME(6)'1900-01-01 00:00:00.000000'optional parent order start time
orderDurationINT0optional number of seconds
activeDurationINT0
goodTillDttmDATETIME(6)'1900-01-01 00:00:00.000000'optional default 20990101
startTypeenum - StartType'None'WaitTrigger associates this order with a triggerGroupId The initial wave of child orders from the TriggerGroup will be send when a final parent order with startTypeTriggerAll or when an external trigger signal is received
triggerGroupIdBIGINT0triggerGroupId is required if startTypeWaitTrigger note that child orders from all parent orders in the trigger group will be organized and released optimally when the triggerGroup is released
triggerTimestampBIGINT0WaitTrigger trigger timestamp nanoseconds since epoch
parentOrderHandlingenum - ParentOrderHandling'None'
parentBalanceHandlingenum - ParentBalanceHandling'None'
orderLimitTypeenum - SpdrLimitType'None'
takeLimitClassenum - SpdrLimitClass'Simple'Simple LimitPrice offset Surface BESTLimitPrice SurfLimit Probability BESTLimitPrice ProbLimit SurfProb BESTLimitPrice SurfLimit ProbLimit
makeLimitClassenum - SpdrLimitClass'Simple'Simple LimitPrice offset Surface BESTLimitPrice SurfLimit Probability BESTLimitPrice ProbLimit SurfProb BESTLimitPrice SurfLimit ProbLimit
takeReachRuleenum - ReachRule'None'None size immediately available Delayed available after 13 seconds Passive available if contra side aggresses WeakOnly only take if available size avgMarketSize ISOSweep Intermarket Sweep requires WaitTrigger
orderPrcLimitDOUBLE0Applies if LimitType Prc
orderRefUPrcDOUBLE0defaultunderliermid
orderRefDeltaFLOAT0defaultoptiondelta
orderRefGammaFLOAT0defaultoptiongamma
orderVolLimitFLOAT0Applies if LimitType Vol uses SR dividends and borrow rates
rateOverrideFLOAT0zero ignore zero override
sdivOverrideFLOAT0
ddivOverrideTINYTEXT''discrete dividend string override yearsToExpirydivYearsdivAmountdivYearsdivAmount
overrideCodeenum - OverrideCode'None'
orderPrcOffsetDOUBLE0default0 surface relX and pegX limit offsets
stateModelenum - StateModel'None'
uStateModelenum - StateModel'None'
takeAlphaTypeenum - AlphaType'None'Applies if takeLimitClass Probability
makeAlphaTypeenum - AlphaType'None'Applies if makeLimitClass Probability
takeAlphaFactorFLOAT022 takeProbLimit MAXtakeProbability takeProbAvg takeAlphaFactor takeProbStd if AlphaType Relative
makeAlphaFactorFLOAT022 makeProbLimit MAXmakeProbability makeProbAvg makeAlphaFactor makeProbStd if AlphaType Relative
takeProbabilityFLOAT0takeProbLimit takeProbability if AlphaType Static
makeProbabilityFLOAT0makeProbLimit makeProbability if AlphaType Static
takeSurfPrcOffsetDOUBLE0default0
takeSurfVolOffsetFLOAT0default0
takeSurfWidthOffsetFLOAT01x to 1x 10 05 avgMktWidth 10 05 avgMktWidth
makeSurfPrcOffsetDOUBLE0default0
makeSurfVolOffsetFLOAT0default0
makeSurfWidthOffsetFLOAT01x to 1x 10 05 avgMktWidth 10 05 avgMktWidth
orderRefEventMultFLOAT0expected underlier abs move 001 1 orderRefEventDttm
orderRefEventDttmDATETIME(6)'1900-01-01 00:00:00.000000'Datetime of the next event Note that events are usually earnings but are not required to be
autoHedgeenum - AutoHedge'None'
hedgeInstrumentenum - HedgeInst'Default'Defaultactual underlier EQT or FUT IndexOptions use ETF FrontMonthactual underlier EQT or front month FUT IndexOptions use FM Fut StockhedgeSecKeyTickerKey FuturehedgeSecKeyExpiryKey
hedgeSecKey_atenum - AssetType'None'autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future
hedgeSecKey_tsenum - TickerSrc'None'autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future
hedgeSecKey_tkVARCHAR(12)''autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future
hedgeSecKey_yrSMALLINT UNSIGNED0autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future
hedgeSecKey_mnTINYINT UNSIGNED0autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future
hedgeSecKey_dyTINYINT UNSIGNED0autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future
hedgeBetaRatioFLOAT0portion of executed money to autohedge can be 10 Beta for beta hedging 40 to 40
hedgeScopeenum - HedgeScope'None'hedge group scope RiskGroup or Accnt
hedgeSessionenum - MarketSession'None'market session for the autohedge order defaults to pOrdermarketSession
externHedgeExDestVARCHAR(16)''external broker exDest only used if orderHandlingExtern Should match FixRoutingTabledestination type eg Nighthawk
externHedgeParamsTINYTEXT''external algo namesparameters usually just an algo name usually copied from the FixRoutingTableexternParams
firmTypeenum - FirmType'None'used to override firmType in account config
orderCapacityenum - OrderCapacity'None'
positionTypeenum - PositionType'None'
ssaleFlagenum - ShortSaleFlag'None'used to determine stock autohedge flags
noCrossGroupVARCHAR(16)''
exchTraderIdVARCHAR(16)''
largeTraderIdVARCHAR(16)''
tradingLocationVARCHAR(16)''
leadSideenum - BuySell'None'for legged orders which side to lead with optional None ok
maxCompletionSlippageDOUBLE0maximum price slippage to complete an open basket
orderRefPremiumFLOAT0reference premium mleg orders only
noticeNumberCHAR(19)'0000-0000-0000-0000'required when parentOrderHandling BlockResponse
theoVolFLOAT0client supplied theoretical volatility used for markup only
clArriveMarkFLOAT0client specified arrival mark passed through to ParentExecution markup only
riskGroupIdCHAR(19)'0000-0000-0000-0000'all orders with the same riskGroupId share a common set of risk countersGrp risk limits apply to these shared counters
reqAuxRiskGroupCtrlenum - YesNo'None'
refRMetric1Srcenum - RMetricSource'None'
refRMetric2Srcenum - RMetricSource'None'
refRMetric3Srcenum - RMetricSource'None'
refRMetric4Srcenum - RMetricSource'None'
refRMetric5Srcenum - RMetricSource'None'
refRMetric6Srcenum - RMetricSource'None'
refRMetric7Srcenum - RMetricSource'None'
orderRefRMetric1FLOAT0user supplied RMetric1 value used in RiskGroupID risk controls netRMetric1 sumfillQty orderRefRMetric1 underlierPerCn
orderRefRMetric2FLOAT0user supplied RMetric2 value used in RiskGroupID risk controls netRMetric2 sumfillQty orderRefRMetric2 underlierPerCn
orderRefRMetric3FLOAT0user supplied RMetric3 value used in RiskGroupID risk controls netRMetric3 sumfillQty orderRefRMetric3 underlierPerCn
orderRefRMetric4FLOAT0user supplied RMetric4 value used in RiskGroupID risk controls netRMetric4 sumfillQty orderRefRMetric4 underlierPerCn
orderRefRMetric5FLOAT0user supplied RMetric5 value used in RiskGroupID risk controls netRMetric5 sumfillQty orderRefRMetric5 underlierPerCn
orderRefRMetric6FLOAT0user supplied RMetric6 value used in ExpDay risk controls netRMetric6 sumfillQty orderRefRMetric6 underlierPerCn
orderRefRMetric7FLOAT0user supplied RMetric7 value used in SymDay risk controls netRMetric7 sumfillQty orderRefRMetric7 underlierPerCn
expDayWtVegaOffsetFLOAT-1max acctsymbol day wtVega offset target
maxExpDayWtVegaLnFLOAT-1max accntexpiration day time weighted vega long positive number1no limitrisk limit max limit current net counter offset
maxExpDayWtVegaShFLOAT-1max accntexpiration day time weighted vega short positive number1no limitrisk limit max limit current net counter offset
maxExpDayRMetric6LnFLOAT-1max acctexpiration day rMetric6 long positive number1no limitrisk limit max limit current net counter
maxExpDayRMetric6ShFLOAT-1max acctexpiration day rMetric6 short positive number1no limitrisk limit max limit current net counter
symDayDDeltaOffsetFLOAT-1max acctsymbol day delta offset target
maxSymDayDDeltaLnFLOAT-1max acctsymbol day delta long positive number1no limitrisk limit max limit current net counter offset
maxSymDayDDeltaShFLOAT-1max acctsymbol day delta short positive number1no limitrisk limit max limit current net counter offset
symDayVegaOffsetFLOAT-1max acctsymbol day vega offset target
maxSymDayVegaLnFLOAT-1max acctsymbol day vega long positive number1no limitrisk limit max limit current net counter offset
maxSymDayVegaShFLOAT-1max acctsymbol day vega short positive number1no limitrisk limit max limit current net counter offset
symDayWtVegaOffsetFLOAT-1max acctsymbol day wtVega offset target
maxSymDayWtVegaLnFLOAT-1max acctsymbol day time weighted vega long positive number1no limitrisk limit max limit current net counter offset
maxSymDayWtVegaShFLOAT-1max acctsymbol day time weighted vega short positive number1no limitrisk limit max limit current net counter offset
maxSymDayRMetric7LnFLOAT-1max acctsymbol day rMetric7 long positive number1no limitrisk limit max limit current net counter
maxSymDayRMetric7ShFLOAT-1max acctsymbol day rMetric7 short positive number1no limitrisk limit max limit current net counter
maxGrpDayDDeltaLnFLOAT-1max acctriskGroup day delta long positive number1no limitrisk limit max limit current net counter
maxGrpDayDDeltaShFLOAT-1max acctriskGroup day delta short positive number1no limitrisk limit max limit current net counter
maxGrpDayVegaLnFLOAT-1max acctriskGroup day vega long positive number1no limitrisk limit max limit current net counter
maxGrpDayVegaShFLOAT-1max acctriskGroup day vega short positive number1no limitrisk limit max limit current net counter
maxGrpDayVegaAbsFLOAT-1max acctriskGroup day vega abs positive number1no limitrisk limit max limit abscurrent net counter
grpDayVegaRatioFLOAT1.0target bot sld ratio eg ratio20 means that neutral is bot vega 2x sld vega
maxGrpDayContractsLnINT-1max acctriskGroup day opt contracts long positive number1no limitrisk limit max limit current net counter
maxGrpDayContractsShINT-1max acctriskGroup day opt contracts short positive number1no limitrisk limit max limit current net counter
maxGrpDayContractsAbsINT-1max acctriskGroup day opt contracts abs positive number1no limitrisk limit max limit abscurrent net counter
maxGrpDayRMetric1LnFLOAT-1max acctriskGroup day rMetric1 long positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric1ShFLOAT-1max acctriskGroup day rMetric1 short positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric1AbsFLOAT-1max acctriskGroup day rMetric1 abs positive number1no limitrisk limit max limit abscurrent net counter
grpDayRMetric1RatioFLOAT1.0target bot sld ratio eg ratio05 means that neutral is bot rMetric1 05x sld rMetric1
maxGrpDayRMetric2LnFLOAT-1max acctriskGroup day rMetric2 long positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric2ShFLOAT-1max acctriskGroup day rMetric2 short positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric3LnFLOAT-1max acctriskGroup day rMetric3 long positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric3ShFLOAT-1max acctriskGroup day rMetric3 short positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric4LnFLOAT-1max acctriskGroup day rMetric4 long positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric4ShFLOAT-1max acctriskGroup day rMetric4 short positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric5LnFLOAT-1max acctriskGroup day rMetric5 long positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric5ShFLOAT-1max acctriskGroup day rMetric5 short positive number1no limitrisk limit max limit current net counter
symEmaCxlDDeltaLnFLOAT-1max acctsymbol 60s EMA delta long positive number 0 is no limit will immediately cxl all option orders in a symbol if any order in the symbol breaches
symEmaCxlDDeltaShFLOAT-1max acctsymbol 60s EMA delta short positive number 0 is no limit
symEmaCxlWtVegaLnFLOAT-1max acctsymbol 60s EMA wtVega long positive number 0 is no limit will immediately cxl all option orders in a symbol if any order in the symbol breaches
symEmaCxlWtVegaShFLOAT-1max acctsymbol 60s EMA wtVega short positive number 0 is no limit
lastFillDttmDATETIME(6)'1900-01-01 00:00:00.000000'
userData1TINYTEXT''client supplied data field passes through to parent and child executions and reports as well as FIX drops
userData2TINYTEXT''client supplied data field passes through to parent and child executions and reports as well as FIX drops
childDataTINYTEXT''client supplied data field passes through to down stream child orders
srcTimestampBIGINT0
sgwTimestampBIGINT0
timestampDATETIME(6)'1900-01-01 00:00:00.000000'
includeSRNetworkenum - InclExclDisclose'None'
DirectedCounterPartyListJSON'JSON_OBJECT()'
OrderLegsListJSON'JSON_OBJECT()'

PRIMARY KEY DEFINITION (Unique)

FieldSequence
parentNumber1

SECONDARY INDEX (AccntCodeIndex) (Not Unique)

FieldSequence
accnt1

SECONDARY INDEX (SecKeyIndex) (Not Unique)

FieldSequence
secKey_at1
secKey_ts2
secKey_tk3
secKey_yr4
secKey_mn5
secKey_dy6
secKey_xx7
secKey_cp8

JSON Block (DirectedCounterPartyList)

FieldTypeComment
clientFirmstring
inclExclenum - inclExcl

JSON Block (OrderLegsList)

FieldTypeComment
tickerTickerKeystock ticker
stockSideenum - stockSideBuy Sell None
stockSharesintnumber of shares included zero if none
stockLegIdlongSR stock leg ID
altStkLegIdstringclient stock leg ID usually from a FIX order
ssaleFlagenum - ssaleFlagstock short sale flag
refUPrcfloatreference underlier price PrcDe orders
numLegsbytenumber of valid legs below
secKey1OptionKeyleg 1
secType1enum - secType1
mult1ushort
side1enum - side1
legId1longSR leg Id
altLegId1stringclient leg Id usually from a FIX order
posType1enum - posType1
ssaleFlag1enum - ssaleFlag1
vega1float
refUPrc1doublereference underlier price PrcDe orders
refDelta1floatreference delta for PrcDe order handling
refEarnCnt1bytereference of earnings moves before expiration
secKey2OptionKeyleg 2
secType2enum - secType2
mult2ushort
side2enum - side2
legId2longSR leg Id
altLegId2stringclient leg Id usually from a FIX order
posType2enum - posType2
ssaleFlag2enum - ssaleFlag2
vega2float
refUPrc2doublereference underlier price PrcDe orders
refDelta2floatreference delta for PrcDe order handling
refEarnCnt2bytereference of earnings moves before expiration
secKey3OptionKeyleg 3
secType3enum - secType3
mult3ushort
side3enum - side3
legId3longSR leg Id
altLegId3stringclient leg Id usually from a FIX order
posType3enum - posType3
ssaleFlag3enum - ssaleFlag3
vega3float
refUPrc3doublereference underlier price PrcDe orders
refDelta3floatreference delta for PrcDe order handling
refEarnCnt3bytereference of earnings moves before expiration
secKey4OptionKeyleg 4
secType4enum - secType4
mult4ushort
side4enum - side4
legId4longSR leg Id
altLegId4stringclient leg Id usually from a FIX order
posType4enum - posType4
ssaleFlag4enum - ssaleFlag4
vega4float
refUPrc4doublereference underlier price PrcDe orders
refDelta4floatreference delta for PrcDe order handling
refEarnCnt4bytereference of earnings moves before expiration
secKey5OptionKeyleg 5
secType5enum - secType5
mult5ushort
side5enum - side5
legId5longSR leg Id
altLegId5stringclient leg Id usually from a FIX order
posType5enum - posType5
ssaleFlag5enum - ssaleFlag5
vega5float
refUPrc5doublereference underlier price PrcDe orders
refDelta5floatreference delta for PrcDe order handling
refEarnCnt5bytereference of earnings moves before expiration
secKey6OptionKeyleg 6
secType6enum - secType6
mult6ushort
side6enum - side6
legId6longSR leg Id
altLegId6stringclient leg Id usually from a FIX order
posType6enum - posType6
ssaleFlag6enum - ssaleFlag6
vega6float
refUPrc6doublereference underlier price PrcDe orders
refDelta6floatreference delta for PrcDe order handling
refEarnCnt6bytereference of earnings moves before expiration

CREATE TABLE EXAMPLE QUERY

CREATE TABLE `SRTrade`.`MsgSRParentOrder` (
`parentNumber` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'SPDR order number',
`sysEnvironment` ENUM('None','Neptune','Pluto','V7_Stable','V7_Latest','Saturn','Venus','Mars','SysTest','V7_Current') NOT NULL DEFAULT 'None' COMMENT 'original (source) sys environment [Stable, Current, etc]',
`runStatus` ENUM('None','Prod','Beta','UAT','SysTest') NOT NULL DEFAULT 'None' COMMENT 'original (source) run status [Prod,Beta]',
`spdrActionType` ENUM('Add','AddReplace','Replace','Cancel','Modify') NOT NULL DEFAULT 'Add',
`parentShape` ENUM('None','Single','Cross','MLeg','MLegCross') NOT NULL DEFAULT 'None',
`clientSeqNumIn` INT NOT NULL DEFAULT 0 COMMENT 'inbound client seq number (FIX orders only)',
`altOrderId` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'alternate order ID (usually clOrdId from client)',
`altPrevOrderId` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'alternate prev order ID (usually origClOrdId from client during cxl/replace)',
`altAutoHedgeId` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'alternate order ID for child autohedge orders (if any)',
`altAccnt` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'alternate (client assigned) "long" account string (optional) [used to map between client and SR account strings]',
`altUserName` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'alternate (client assigned) user name (optional) [used to map between client and SR account strings]',
`srcRoutingCode` TINYTEXT NOT NULL DEFAULT '' COMMENT 'inbound FIX routing code or SRSE/tool server appID (if any)',
`packageId` BIGINT NOT NULL DEFAULT 0 COMMENT 'references spread orderNumber, if a legged spread order or auto-hedge order',
`secKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'Composite Security Key',
`secKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'Composite Security Key',
`secKey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'Composite Security Key',
`secKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Composite Security Key',
`secKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Composite Security Key',
`secKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Composite Security Key',
`secKey_xx` DOUBLE NOT NULL DEFAULT 0 COMMENT 'Composite Security Key',
`secKey_cp` ENUM('Call','Put','Pair') NOT NULL DEFAULT 'Call' COMMENT 'Composite Security Key',
`secType` ENUM('None','Stock','Future','Option','MLeg') NOT NULL DEFAULT 'None' COMMENT 'Security Type [Stock, Future, Option]',
`securityDesc` TINYTEXT NOT NULL DEFAULT '' COMMENT 'additional security description',
`accnt` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'SR trading account',
`clientFirm` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'SR client firm',
`spdrSource` ENUM('None','SpdrTicket','SpdrSingle','SRSE','FIX','HedgeTool','TradeHedge','OpenHedge','AutoHedge','Orphan','RiskManager','OrderManager','ManagedOrder','RFQRespSrvr','Legger','SRSEDrop','FixDrop','TicketDrop','SysTest','RFRResponse','AllocOmni','AllocClient','CertGateway','MLegResponse','LeggerX','DropManager','AutoHedgeSrvr','AuctionStrategySrvr','AllocBlockFace','AllocBlockCust','IceChatGateway','EXS2SRC','MLinkResponse','AutoResponderVD','AutoResponderRC','AutoResponderSN','AutoResponderBX','MLink') NOT NULL DEFAULT 'None',
`groupingCode` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'unique broker code;broker.pkey = (key + accnt + spdrSource + groupingCode)',
`execBrkrCode` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'overrides the default executing broker for this parent order',
`externExDest` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'routing code for orders directed to an external order router (default = null); must match an exDest associated with a RouteDefinition',
`externParams` TINYTEXT NOT NULL DEFAULT '' COMMENT 'external algo names/parameters (usually just an algo name)',
`strategy` VARCHAR(36) NOT NULL DEFAULT '' COMMENT 'client-supplied strategy string;visible on SpiderRock GUI tools and other order reports.',
`userName` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'name of the user entering the order',
`userSource` ENUM('None','SpdrTicket','SpdrSingle','SRSE','FIX','HedgeTool','TradeHedge','OpenHedge','AutoHedge','Orphan','RiskManager','OrderManager','ManagedOrder','RFQRespSrvr','Legger','SRSEDrop','FixDrop','TicketDrop','SysTest','RFRResponse','AllocOmni','AllocClient','CertGateway','MLegResponse','LeggerX','DropManager','AutoHedgeSrvr','AuctionStrategySrvr','AllocBlockFace','AllocBlockCust','IceChatGateway','EXS2SRC','MLinkResponse','AutoResponderVD','AutoResponderRC','AutoResponderSN','AutoResponderBX','MLink') NOT NULL DEFAULT 'None' COMMENT 'SpdrSource of this order (assumed to be the same as spdrSource if None)',
`orderDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'order entry time (from client;if any)',
`orderSide` ENUM('None','Buy','Sell') NOT NULL DEFAULT 'None',
`orderSize` INT NOT NULL DEFAULT 0 COMMENT 'maximum fill size (contracts)',
`orderActiveSize` INT NOT NULL DEFAULT 0 COMMENT 'total activated size (total size released for execution) (-1 = all available size)',
`curCumFillQuantity` INT NOT NULL DEFAULT 0 COMMENT 'set order size = orderSize - Max(0, curCumFillQty - ee.cumFillQty) (used to ensure integrity of submitted cxl/replace orders)',
`addCumFillQuantity` ENUM('None','Yes','No') NOT NULL DEFAULT 'None' COMMENT 'If Yes then OrderSize is calculated @ order arrival as requested OrderSize + existing ''CumFillQuantity''.',
`maxExposureSize` INT NOT NULL DEFAULT 0 COMMENT 'maximum simultaneous cumulative child order public size exposure (-1 = orderActiveSize) [order can overfill if > orderActiveSize and numMakeExchanges > 1]',
`numMakeExchanges` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'number of exchanges (1 - 4) on which to publish public making orders. Effective number might be less than requested number if sufficient exchanges are not available.',
`publicSize` ENUM('None','Randomize','MktSize','FullSize','MktSizeA','MktSizeB','MktSizeC','FullSizeR','Max25Pct','Max50Pct','Max75Pct','NoSize') NOT NULL DEFAULT 'None' COMMENT 'public order size handling: None=algo default; Randomize=randomize public size; MktSize=expose typical market size; FullSize=expose entire order size where possible; FullSizeR=randomize full size',
`canOverlapCxlRepl` ENUM('None','Yes','No') NOT NULL DEFAULT 'None' COMMENT 'can execution engines overlap cancel/replace operations [order can overfill if YES] (at most one active overlapping cxl/replace operation for each parent order)',
`progressRule` ENUM('None','Twap','Vwap','TwapReset','VwapReset','FastReset','SlowReset','TwapAlpha','VwapAlpha','TwapAlphaC','VwapAlphaC','AutoComplete','AllowImmediate','Manual','SpdrPulse','IOC') NOT NULL DEFAULT 'None' COMMENT 'Immediate = all size immediately available; TWAP = work from arrival to expiration; VWAP = work order not faster than participation rate',
`blockVisibility` ENUM('None','Neither','Side','SidePrice') NOT NULL DEFAULT 'None' COMMENT 'for BlockAuction orders, visibility (to responders) is neither, side only, or side + price',
`progressSliceCnt` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'number of slices to use (default = 4 or 8) [max 20]',
`progressExposeTime` INT NOT NULL DEFAULT 0 COMMENT 'minimum time (secs) to expose order (0 = no minimum; used to guarantee that the order is exposed at mid-market for some time before actively taking)',
`vwapParticipation` FLOAT NOT NULL DEFAULT 0 COMMENT 'target vwap participation rate (target % of trade activity)',
`minMktOnClosePct` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Minimum pct [0 - 100] of order reserved for the on-close (MOC) auction',
`triggerType` ENUM('None','PrintPrc','PrintVol','SurfVol','PrtSurfVol') NOT NULL DEFAULT 'None' COMMENT 'type of trigger (PrintVol/SurfVol only for options) [print = print or actionable quote]',
`triggerLevel` FLOAT NOT NULL DEFAULT 0 COMMENT 'stop/trigger level for parent order to go active (can be either a price or vol)',
`auctionResponder` ENUM('None','Any') NOT NULL DEFAULT 'None' COMMENT 'if set, parent order can be an auction responder',
`maxMakeExchFee` FLOAT NOT NULL DEFAULT 0 COMMENT 'maximum making exchange fee (in point value) [zero = no limit; use non-zero number for limit to apply]',
`maxTakeExchFee` FLOAT NOT NULL DEFAULT 0 COMMENT 'maximum taking exchange fee (in point value) [zero = no limit; use non-zero number for limit to apply]',
`incTakeExchFee` ENUM('None','ExclFee','IncFee') NOT NULL DEFAULT 'None' COMMENT 'include exchange fee in probability and surface based take limit calculations',
`incMakeExchFee` ENUM('None','ExclFee','IncFee') NOT NULL DEFAULT 'None' COMMENT 'include exchange fee in probability and surface based make limit calculations',
`makeExchRule` ENUM('None','MaxPart','FeeOptimal','ImprvOnly','FeeStrict','RoundRobin','ProRataOptim') NOT NULL DEFAULT 'None' COMMENT 'ActiveMaker exch preference: ''MaxPart'' = max participation; ''FeeOrder'' = minimize fees [max rebates]; ''ImprvOnly'' will only make when improving NBBO; ''RoundRobin'' will rotate through exch list; ''ProRataOptim'' will post on pro-rata only.',
`cxlUPrcRange` ENUM('None','Yes','No','YesHalt','NoHalt') NOT NULL DEFAULT 'None' COMMENT 'cancel parent order if/when outside the uPrice range [ _Halt = also cancel if halted ]',
`minUBid` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional]',
`maxUAsk` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional] (< $0.01 = none)',
`minMaxType` ENUM('None','Prc','Pct') NOT NULL DEFAULT 'None' COMMENT 'if Prc minUBid/maxUAsk are expressed as prices; if Pct then they are expresses as pct change since parent order arrival',
`minOptionPx` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional] option price floor for tied to stock orders',
`maxChildOrders` INT NOT NULL DEFAULT 0 COMMENT 'maximum number of child orders that can be generated by this parent order [order will terminate if/when this cap is reached;zero or neg = unlimited]',
`exchMask` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'eligible exchanges (0 = all)',
`spdrStageType` ENUM('None','ModifyAny','ModifyAlgo') NOT NULL DEFAULT 'None' COMMENT 'note: stageType != None implies both KeepAlive behavior and makes the order visible on tools',
`marketSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'None',
`startDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT '[optional] (parent order start time)',
`orderDuration` INT NOT NULL DEFAULT 0 COMMENT '[optional] (number of seconds)',
`activeDuration` INT NOT NULL DEFAULT 0,
`goodTillDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT '[optional] (default: 2099-01-01)',
`startType` ENUM('None','WaitTrigger','TriggerAll') NOT NULL DEFAULT 'None' COMMENT 'WaitTrigger associates this order with a triggerGroupId. The initial wave of child orders from the TriggerGroup will be send when a (final) parent order with startType=TriggerAll or when an external trigger signal is received.',
`triggerGroupId` BIGINT NOT NULL DEFAULT 0 COMMENT 'triggerGroupId is required if startType=WaitTrigger; note that child orders from all parent orders in the trigger group will be organized and released optimally when the triggerGroup is released',
`triggerTimestamp` BIGINT NOT NULL DEFAULT 0 COMMENT 'WaitTrigger trigger timestamp (nanoseconds since epoch)',
`parentOrderHandling` ENUM('None','ActiveTaker','PostOnly','DMA','MktOnOpn','MktOnCls','Facilitate','Matrix','Legger','Seeker','SeekerLegger','CrossResponse','AuctionResponse','MLegAuctionResp','RFQRequest','AwayAlgo','ExchPing','BlockAuction','BlockResponse','SweepTake','CobMaker','FaceOmni','TestParent') NOT NULL DEFAULT 'None',
`parentBalanceHandling` ENUM('None','PostWith','PostTurn','PostImprove','PostLimit','MaxIntern','PostWthF','PostImprvR','PostFlash','PostFlashW','PostPeg','PostFlashI') NOT NULL DEFAULT 'None',
`orderLimitType` ENUM('None','Market','MarketArrival','Prc','PrcDe','PrcDeX','PrcDeT','PrcDeP','PrcDeXT','PrcDeXP','Vol','VolX','PrcV','PrcVX','NoLimit','RelMid','RelJoin','RelCross','SmrtFast','SmrtNorm','RelTurn','PrcDeEm','VolEm','Aux','UPrcPct','PkgNeutral','RcPrem','SynthLimitMM','SynthLimitBW','SynthLimitWW') NOT NULL DEFAULT 'None',
`takeLimitClass` ENUM('Simple','Surface','Probability','SurfProb') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice +/- offset, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit), SurfProb = BEST(LimitPrice, SurfLimit, ProbLimit)',
`makeLimitClass` ENUM('Simple','Surface','Probability','SurfProb') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice +/- offset, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit), SurfProb = BEST(LimitPrice, SurfLimit, ProbLimit)',
`takeReachRule` ENUM('None','Delayed','Passive','WeakOnly','RespondOnly','FullSize','ISOSweep','AllOrNone','QtyOrMore','UpToQty','AtMost25','AtMost50','MinTakeFee') NOT NULL DEFAULT 'None' COMMENT 'None = size immediately available; Delayed = available after [1-3] seconds; Passive = available if contra side aggresses; WeakOnly = only take if available size < avgMarketSize; ISOSweep = Intermarket Sweep [requires WaitTrigger]',
`orderPrcLimit` DOUBLE NOT NULL DEFAULT 0 COMMENT 'Applies if LimitType = Prc[]',
`orderRefUPrc` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=underlier.mid',
`orderRefDelta` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=option.delta',
`orderRefGamma` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=option.gamma',
`orderVolLimit` FLOAT NOT NULL DEFAULT 0 COMMENT 'Applies if LimitType = Vol[] [uses SR dividends and borrow rates]',
`rateOverride` FLOAT NOT NULL DEFAULT 0 COMMENT 'zero = ignore; > zero = override',
`sdivOverride` FLOAT NOT NULL DEFAULT 0,
`ddivOverride` TINYTEXT NOT NULL DEFAULT '' COMMENT 'discrete dividend string override ([yearsToExpiry,divYears:divAmount,divYears:divAmount, ...])',
`overrideCode` ENUM('None','SDivOnly','DDivOnly','Both') NOT NULL DEFAULT 'None',
`orderPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0 [surface, relX and pegX limit offsets]',
`stateModel` ENUM('None','M1','M2','M3','M4') NOT NULL DEFAULT 'None',
`uStateModel` ENUM('None','M1','M2','M3','M4') NOT NULL DEFAULT 'None',
`takeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if takeLimitClass = Probability',
`makeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if makeLimitClass = Probability',
`takeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] takeProbLimit = MAX(takeProbability, takeProbAvg + takeAlphaFactor * takeProbStd) [if AlphaType = Relative]',
`makeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] makeProbLimit = MAX(makeProbability, makeProbAvg + makeAlphaFactor * makeProbStd) [if AlphaType = Relative]',
`takeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'takeProbLimit = takeProbability [if AlphaType = Static]',
`makeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'makeProbLimit = makeProbability [if AlphaType = Static]',
`takeSurfPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeSurfVolOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeSurfWidthOffset` FLOAT NOT NULL DEFAULT 0 COMMENT '[-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth',
`makeSurfPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`makeSurfVolOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=0',
`makeSurfWidthOffset` FLOAT NOT NULL DEFAULT 0 COMMENT '[-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth',
`orderRefEventMult` FLOAT NOT NULL DEFAULT 0 COMMENT 'expected underlier abs move (0.01 = 1%) @ orderRefEventDttm',
`orderRefEventDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'Date/time of the next event. Note that events are usually earnings but are not required to be.',
`autoHedge` ENUM('None','Static','AutoMid','AutoCrx','AutoTrn','SpdrAuto','Spdr10S','Spdr30S','Spdr90S','Spdr5M','Spdr30M','SpdrDay','SmartFast','SmartNorm','FastCrx','FastDark','SlowDark','AlphaVwap1pct','AlphaVwap2pct','AlphaVwap5pct','AlphaVwap25pct','Custom','AwayAlgo') NOT NULL DEFAULT 'None',
`hedgeInstrument` ENUM('None','Default','FrontMonth','Stock','Future') NOT NULL DEFAULT 'Default' COMMENT 'Default=actual underlier (EQT or FUT) [IndexOptions use ETF]; FrontMonth=actual underlier (EQT) or front month (FUT) [IndexOptions use FM Fut]; Stock=hedgeSecKey.TickerKey; Future=hedgeSecKey.ExpiryKey',
`hedgeSecKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeSecKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeSecKey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeSecKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeSecKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeSecKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeBetaRatio` FLOAT NOT NULL DEFAULT 0 COMMENT 'portion of executed $money to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0]',
`hedgeScope` ENUM('None','Accnt','RiskGroup') NOT NULL DEFAULT 'None' COMMENT 'hedge group scope [RiskGroup or Accnt]',
`hedgeSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'None' COMMENT 'market session for the autohedge order [defaults to pOrder.marketSession]',
`externHedgeExDest` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'external broker exDest (only used if orderHandling=Extern) # Should match FixRoutingTable.destination type (eg. #Nighthawk)',
`externHedgeParams` TINYTEXT NOT NULL DEFAULT '' COMMENT 'external algo names/parameters (usually just an algo name) # usually copied from the FixRoutingTable.externParams',
`firmType` ENUM('None','Customer','Firm','MarketMaker','ProCustomer','BrokerDealer','AwayMM','FirmJBO','BrkrDlrCust') NOT NULL DEFAULT 'None' COMMENT 'used to override firmType in account config',
`orderCapacity` ENUM('None','Agency','Principal','Individual','Proprietary','AgentOtherMember','RisklessPrincipal') NOT NULL DEFAULT 'None',
`positionType` ENUM('None','Opening','Closing','Auto') NOT NULL DEFAULT 'None',
`ssaleFlag` ENUM('None','Long','Short','Exempt','Auto','Open','Close','Cover','NA') NOT NULL DEFAULT 'None' COMMENT 'used to determine stock auto-hedge flags',
`noCrossGroup` VARCHAR(16) NOT NULL DEFAULT '',
`exchTraderId` VARCHAR(16) NOT NULL DEFAULT '',
`largeTraderId` VARCHAR(16) NOT NULL DEFAULT '',
`tradingLocation` VARCHAR(16) NOT NULL DEFAULT '',
`leadSide` ENUM('None','Buy','Sell') NOT NULL DEFAULT 'None' COMMENT 'for legged orders, which side to lead with. (optional, None ok)',
`maxCompletionSlippage` DOUBLE NOT NULL DEFAULT 0 COMMENT 'maximum price slippage to complete an open basket',
`orderRefPremium` FLOAT NOT NULL DEFAULT 0 COMMENT 'reference premium (mleg orders only)',
`noticeNumber` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'required when parentOrderHandling = BlockResponse',
`theoVol` FLOAT NOT NULL DEFAULT 0 COMMENT 'client supplied theoretical volatility (used for markup only)',
`clArriveMark` FLOAT NOT NULL DEFAULT 0 COMMENT 'client specified arrival mark (passed through to ParentExecution; markup only)',
`riskGroupId` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'all orders with the same riskGroupId share a common set of risk counters;.Grp. risk limits apply to these shared counters',
`reqAuxRiskGroupCtrl` ENUM('None','Yes','No') NOT NULL DEFAULT 'None',
`refRMetric1Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric2Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric3Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric4Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric5Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric6Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric7Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`orderRefRMetric1` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric1 value (used in RiskGroupID risk controls) [netRMetric1 = sum(fillQty * orderRefRMetric1 * underlierPerCn)]',
`orderRefRMetric2` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric2 value (used in RiskGroupID risk controls) [netRMetric2 = sum(fillQty * orderRefRMetric2 * underlierPerCn)]',
`orderRefRMetric3` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric3 value (used in RiskGroupID risk controls) [netRMetric3 = sum(fillQty * orderRefRMetric3 * underlierPerCn)]',
`orderRefRMetric4` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric4 value (used in RiskGroupID risk controls) [netRMetric4 = sum(fillQty * orderRefRMetric4 * underlierPerCn)]',
`orderRefRMetric5` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric5 value (used in RiskGroupID risk controls) [netRMetric5 = sum(fillQty * orderRefRMetric5 * underlierPerCn)]',
`orderRefRMetric6` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric6 value (used in ExpDay risk controls) [netRMetric6 = sum(fillQty * orderRefRMetric6 * underlierPerCn)]',
`orderRefRMetric7` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric7 value (used in SymDay risk controls) [netRMetric7 = sum(fillQty * orderRefRMetric7 * underlierPerCn)]',
`expDayWtVegaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day wtVega offset (target)',
`maxExpDayWtVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max accnt+expiration day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxExpDayWtVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max accnt+expiration day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`maxExpDayRMetric6Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+expiration day rMetric6 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxExpDayRMetric6Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+expiration day rMetric6 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`symDayDDeltaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta offset (target)',
`maxSymDayDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`symDayVegaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day vega offset (target)',
`maxSymDayVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`symDayWtVegaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day wtVega offset (target)',
`maxSymDayWtVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayWtVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`maxSymDayRMetric7Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day rMetric7 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxSymDayRMetric7Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day rMetric7 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day $delta long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day $delta short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day vega long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day vega short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayVegaAbs` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day vega abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`grpDayVegaRatio` FLOAT NOT NULL DEFAULT 1.0 COMMENT 'target bot / sld ratio (eg ratio=2.0 means that neutral is bot vega = 2x sld vega)',
`maxGrpDayContractsLn` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayContractsSh` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayContractsAbs` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`maxGrpDayRMetric1Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric1Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric1Abs` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`grpDayRMetric1Ratio` FLOAT NOT NULL DEFAULT 1.0 COMMENT 'target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1)',
`maxGrpDayRMetric2Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric2 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric2Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric2 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric3Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric3 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric3Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric3 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric4Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric4 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric4Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric4 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric5Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric5 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric5Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric5 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`symEmaCxlDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA $delta long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches]',
`symEmaCxlDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA $delta short (positive number; <= 0 is no limit)',
`symEmaCxlWtVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA wtVega long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches]',
`symEmaCxlWtVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA wtVega short (positive number; <= 0 is no limit)',
`lastFillDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`userData1` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`userData2` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`childData` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to down stream child orders',
`srcTimestamp` BIGINT NOT NULL DEFAULT 0,
`sgwTimestamp` BIGINT NOT NULL DEFAULT 0,
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`includeSRNetwork` ENUM('None','Include','Exclude','Disclose') NOT NULL DEFAULT 'None',
`DirectedCounterPartyList` JSON NOT NULL DEFAULT JSON_OBJECT() CHECK(JSON_VALID(DirectedCounterPartyList)),
`OrderLegsList` JSON NOT NULL DEFAULT JSON_OBJECT() CHECK(JSON_VALID(OrderLegsList)),
CONSTRAINT nonnegative_parentNumber CHECK(ASCII(parentNumber) < 56),
CONSTRAINT nonnegative_groupingCode CHECK(ASCII(groupingCode) < 56),
CONSTRAINT nonnegative_noticeNumber CHECK(ASCII(noticeNumber) < 56),
CONSTRAINT nonnegative_riskGroupId CHECK(ASCII(riskGroupId) < 56),
PRIMARY KEY USING HASH (`parentNumber`),
KEY `AccntCodeIndex` (`accnt`) USING HASH,
KEY `SecKeyIndex` (`secKey_at`,`secKey_ts`,`secKey_tk`,`secKey_yr`,`secKey_mn`,`secKey_dy`,`secKey_xx`,`secKey_cp`) USING HASH
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='SpdrParentOrder records are visible in SRSE immediately after receipt. Parent orders received via FIX, SRSE or SpiderRock GUI tools, or 3rd party vendor systems are all visible in this table.\nParent orders can be for stocks, futures, options or spreads. And they can be one-sided (agency) or two-sided (facilitation) orders. Parent order records should be immutable and not update.\nSpdrParentOrder records are published to the SpiderRock elatic cluster on arrival.';

SELECT TABLE EXAMPLE QUERY

SELECT
`parentNumber`,
`sysEnvironment`,
`runStatus`,
`spdrActionType`,
`parentShape`,
`clientSeqNumIn`,
`altOrderId`,
`altPrevOrderId`,
`altAutoHedgeId`,
`altAccnt`,
`altUserName`,
`srcRoutingCode`,
`packageId`,
`secKey_at`,
`secKey_ts`,
`secKey_tk`,
`secKey_yr`,
`secKey_mn`,
`secKey_dy`,
`secKey_xx`,
`secKey_cp`,
`secType`,
`securityDesc`,
`accnt`,
`clientFirm`,
`spdrSource`,
`groupingCode`,
`execBrkrCode`,
`externExDest`,
`externParams`,
`strategy`,
`userName`,
`userSource`,
`orderDttm`,
`orderSide`,
`orderSize`,
`orderActiveSize`,
`curCumFillQuantity`,
`addCumFillQuantity`,
`maxExposureSize`,
`numMakeExchanges`,
`publicSize`,
`canOverlapCxlRepl`,
`progressRule`,
`blockVisibility`,
`progressSliceCnt`,
`progressExposeTime`,
`vwapParticipation`,
`minMktOnClosePct`,
`triggerType`,
`triggerLevel`,
`auctionResponder`,
`maxMakeExchFee`,
`maxTakeExchFee`,
`incTakeExchFee`,
`incMakeExchFee`,
`makeExchRule`,
`cxlUPrcRange`,
`minUBid`,
`maxUAsk`,
`minMaxType`,
`minOptionPx`,
`maxChildOrders`,
`exchMask`,
`spdrStageType`,
`marketSession`,
`startDttm`,
`orderDuration`,
`activeDuration`,
`goodTillDttm`,
`startType`,
`triggerGroupId`,
`triggerTimestamp`,
`parentOrderHandling`,
`parentBalanceHandling`,
`orderLimitType`,
`takeLimitClass`,
`makeLimitClass`,
`takeReachRule`,
`orderPrcLimit`,
`orderRefUPrc`,
`orderRefDelta`,
`orderRefGamma`,
`orderVolLimit`,
`rateOverride`,
`sdivOverride`,
`ddivOverride`,
`overrideCode`,
`orderPrcOffset`,
`stateModel`,
`uStateModel`,
`takeAlphaType`,
`makeAlphaType`,
`takeAlphaFactor`,
`makeAlphaFactor`,
`takeProbability`,
`makeProbability`,
`takeSurfPrcOffset`,
`takeSurfVolOffset`,
`takeSurfWidthOffset`,
`makeSurfPrcOffset`,
`makeSurfVolOffset`,
`makeSurfWidthOffset`,
`orderRefEventMult`,
`orderRefEventDttm`,
`autoHedge`,
`hedgeInstrument`,
`hedgeSecKey_at`,
`hedgeSecKey_ts`,
`hedgeSecKey_tk`,
`hedgeSecKey_yr`,
`hedgeSecKey_mn`,
`hedgeSecKey_dy`,
`hedgeBetaRatio`,
`hedgeScope`,
`hedgeSession`,
`externHedgeExDest`,
`externHedgeParams`,
`firmType`,
`orderCapacity`,
`positionType`,
`ssaleFlag`,
`noCrossGroup`,
`exchTraderId`,
`largeTraderId`,
`tradingLocation`,
`leadSide`,
`maxCompletionSlippage`,
`orderRefPremium`,
`noticeNumber`,
`theoVol`,
`clArriveMark`,
`riskGroupId`,
`reqAuxRiskGroupCtrl`,
`refRMetric1Src`,
`refRMetric2Src`,
`refRMetric3Src`,
`refRMetric4Src`,
`refRMetric5Src`,
`refRMetric6Src`,
`refRMetric7Src`,
`orderRefRMetric1`,
`orderRefRMetric2`,
`orderRefRMetric3`,
`orderRefRMetric4`,
`orderRefRMetric5`,
`orderRefRMetric6`,
`orderRefRMetric7`,
`expDayWtVegaOffset`,
`maxExpDayWtVegaLn`,
`maxExpDayWtVegaSh`,
`maxExpDayRMetric6Ln`,
`maxExpDayRMetric6Sh`,
`symDayDDeltaOffset`,
`maxSymDayDDeltaLn`,
`maxSymDayDDeltaSh`,
`symDayVegaOffset`,
`maxSymDayVegaLn`,
`maxSymDayVegaSh`,
`symDayWtVegaOffset`,
`maxSymDayWtVegaLn`,
`maxSymDayWtVegaSh`,
`maxSymDayRMetric7Ln`,
`maxSymDayRMetric7Sh`,
`maxGrpDayDDeltaLn`,
`maxGrpDayDDeltaSh`,
`maxGrpDayVegaLn`,
`maxGrpDayVegaSh`,
`maxGrpDayVegaAbs`,
`grpDayVegaRatio`,
`maxGrpDayContractsLn`,
`maxGrpDayContractsSh`,
`maxGrpDayContractsAbs`,
`maxGrpDayRMetric1Ln`,
`maxGrpDayRMetric1Sh`,
`maxGrpDayRMetric1Abs`,
`grpDayRMetric1Ratio`,
`maxGrpDayRMetric2Ln`,
`maxGrpDayRMetric2Sh`,
`maxGrpDayRMetric3Ln`,
`maxGrpDayRMetric3Sh`,
`maxGrpDayRMetric4Ln`,
`maxGrpDayRMetric4Sh`,
`maxGrpDayRMetric5Ln`,
`maxGrpDayRMetric5Sh`,
`symEmaCxlDDeltaLn`,
`symEmaCxlDDeltaSh`,
`symEmaCxlWtVegaLn`,
`symEmaCxlWtVegaSh`,
`lastFillDttm`,
`userData1`,
`userData2`,
`childData`,
`srcTimestamp`,
`sgwTimestamp`,
`timestamp`,
`includeSRNetwork`,
`DirectedCounterPartyList`,
`OrderLegsList`
FROM `SRTrade`.`MsgSRParentOrder`
WHERE
/* Replace with a CHAR(19) */
`parentNumber` = 'Example_parentNumber';

Doc Columns Query

SELECT * FROM SRTrade.doccolumns WHERE TABLE_NAME='SpdrParentOrder' ORDER BY ordinal_position ASC;